Extending Pluto-Style Polyhedral Scheduling with Consecutivity

نویسندگان

  • Sven Verdoolaege
  • Alexandre Isoard
چکیده

The Pluto scheduler is a successful polyhedral scheduler that is used in one form or another in several research and production compilers. The core scheduler is focused on parallelism and temporal locality and does not directly target spatial locality. Such spatial locality is known to bring performance benefits and has been considered in various forms outside and inside polyhedral compilation. For example, the Pluto compiler has some support for spatial locality, but it is limited to a post-processing step involving only loop interchange. Consecutivity is a special case of spatial locality that aims for stride-1 accesses, which can be useful for constructing burst accesses and for vectorization. Stride-1 accesses have been targeted by an approach based on one-shot scheduling, but it is fairly approximative and not directly transferable to a Pluto-style scheduler. This paper describes an approach for consecutivity that is integrated in a Pluto-style polyhedral scheduler, as implemented in isl. Both intra-statement and inter-statement consecutivity is considered, taking into account multiple references per statement and the integration into a component based incremental scheduler.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Case for Strongly Polynomial Time Sub-Polyhedral Scheduling Using Two-Variable-Per-Inequality Polyhedra

We make a case for sub-polyhedral scheduling using (Unit-)TwoVariable-Per-Inequality or (U)TVPI Polyhedra. We empirically show that using general convex polyhedra leads to a scalability problem in a widely used polyhedral scheduler. We propose methods in which polyhedral schedulers can beat the scalability challenge by using sub-polyhedral under-aproximations of the polyhedra resulting from the...

متن کامل

An Approach for Finding Permutations Quickly: Fusion and Dimension matching

Polyhedral compilers can perform complex loop optimizations that improve parallelism and cache behaviour of loops in the input program. These transformations result in significant performance gains on modern processors which have large compute power and deep memory hierarchies. The paper, Polyhedral Auto-transformation with No Integer Linear Programming, identifies issues that adversely affect ...

متن کامل

More Definite Results from the PLuTo Scheduling Algorithm

The PLuTo scheduling algorithm is a well-known algorithm for automatic scheduling in the polyhedral compilation model. It seeks linearly independent affine partition mappings for each statement of a Static Control Program (SCoP), such that total communication is minimized. In this paper we show that this algorithm can be sensitive to the layout of the global constraint matrix thus resulting to ...

متن کامل

MINES ParisTech

The goal of this thesis is to design algorithms that run with better complexity when compiling or parallelizing loop programs. The framework within which our algorithms operate is the polyhedral model of compilation which has been successful in the design and implementation of complex loop nest optimizers and parallelizing compilers. The algorithmic complexity and scalability limitations of the...

متن کامل

International Workshop on Polyhedral Compilation Techniques

The Polyhedral model has proven to be a valuable tool for improving memory locality and exploiting parallelism for optimizing dense array codes. This model is expressive enough to describe transformations of imperfectly nested loops, and to capture a variety of program transformations, including many approaches to loop tiling. Tools such as the highly successful PLuTo automatic parallelizer hav...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2018